Embodiments of the invention relate to an RDMA-capable network interface controller and to a method for providing a mechanism to migrate RDMA memory mappings of a virtual machine. The mappings, generated via memory registration calls, are transferred from a RDMA-capable network interface controller on a physical machine to another controller when the virtual machine is migrated from the physical machine to another physical machine.
In modern network systems, remote direct memory access (RDMA) is used for providing direct memory access from the memory of one physical machine, for example a computer, into that of another physical machine using network controllers, and without involving either one's operating system. This permits high-throughput and low-latency networking at a negligible CPU load. But RDMA has specific requirements and thus exposes applications in a distributed setting to network resources tied to a physical machine and network controller such as a Steering Tag (STag), and associated registered virtual and physical memory regions etc. These STags are necessary for accessing physical memory regions of a physical machine but are only valid for a particular network interface controller device, on a particular physical machine. These STags are distributed and used by all peers or clients in a networked environment. In a consolidated distributed environment, like a cloud network, workloads involving RDMA accesses are run inside a virtual machine (VM). However, when a virtual machine is migrated from a physical host to another, STags and memory mappings of the previous physical host or machine are not valid on the new host or machine. Thus, peers who have old STags must discard the old STags and learn about new STags on the newly migrated machine. This may be a time consuming and complicated process that may result in a performance loss for workloads.
U.S. Pat. No. 7,565,454 B2 discloses a method for transferring control between a first network interface and a second network interface within the same host with reference to STags.
Accordingly, it is an aspect of the present invention to provide an improved way of migrating memory mappings of a virtual machine from a RDMA-capable network controller to another when the virtual machine is migrated between physical machines and of using the migrated memory mappings when accessing memory regions.